package com.cloudkinto.service.invoice;

import com.cloudkinto.entity.InvoiceRecordDo;
import com.baomidou.mybatisplus.extension.service.IService;

import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.service.invoice.vo.InvoiceRecordAddReq;
import com.cloudkinto.service.invoice.vo.InvoiceRecordDetailRes;
import com.cloudkinto.service.invoice.vo.InvoiceRecordUpdateReq;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  service接口
 * </p>
 * @author hjy
 * @since 2021-07-13
 */
public interface InvoiceRecordService extends IService<InvoiceRecordDo> {

    SingleResult addInit(Long companyId);

    InvoiceRecordAddReq add(InvoiceRecordAddReq req, Long userId);

    SingleResult updateInit(Long id,Long companyId);

    InvoiceRecordUpdateReq update(InvoiceRecordUpdateReq updateVo, Long userId);

    int delete(Long id, Long userId);

    InvoiceRecordDetailRes detail(Long id);

    SingleResult pageInit();

    List<InvoiceRecordDetailRes> getList(Map<String, String> map);

    PageResult getListPage(Map<String, String> map);

    Map<String,Object> getInvoiceTitle(Long id);
}
